package Pre.Work;

import javax.management.MBeanAttributeInfo;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;

public class Exam01 {
    //编写一个程序，列出指定目录及其子目录下所有文件。
    public static void main(String[] args) {
        File file = new File("E:\\mumu");
        printFile(file);
//        File file2 = new File("C:");
//        System.out.println(file2.getFreeSpace() / 1024.0 / 1024 / 1024 + "GB");
//        System.out.println(file2.getTotalSpace() / 1024.0 / 1024/ 1024 + "GB") ;
//        System.out.println(file2.getUsableSpace() / 1024.0 / 1024/ 1024 + "GB");
    }

    public static void printFile(File file){
        List<File> list = new ArrayList<>();
        if (file.isFile()){
            list.add(file.getAbsoluteFile());
        }else {
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++) {
                //无法到最后一级目录
//                if (files[i].isDirectory()) {
//                    list.add(files[i].getAbsoluteFile());
//                }
                if (files[i].isDirectory()) {
                    printFile(files[i]);
                }
                list.add(files[i].getAbsoluteFile());
            }
        }
        list.forEach(System.out::println);
    }
}
